package com.bjpowernode.javase.danLink;
/*

 */
public class Link<E> {
    public static void main(String[] args) {
        Link<String> link = new Link<>();
        link.add("as");
    }

    //头结点
    Node header;

    int size = 0;
    public int size(){
        return size;
    }

    //向链表的末尾添加元素的方法
    public void add(E date){
        //创建一个新的节点对象
        //让之前单链表的末尾节点的next指向新节点对象
        //有可能这个元素时第一个、第二个、第三个。。。
        if (header == null){
            //说明还没有节点
            //new一个新的节点作为头结点
            //这个时候的头结点也是末尾节点。
           header = new Node(date,null);
        }else{
            //说明头结点已经有啦
            //找出当前末尾节点,让当前末尾节点的next是新节点
            Node currentLastNode = findLast(header);
            currentLastNode.next = new Node(date,null);

        }
        size++;
    }

    /**
     * 专门查找末尾节点
     */
    private Node findLast(Node node){
        if(node.next == null){
            return node;
        }
        return findLast(node.next);
    }

    //删除链表中某个元素的方法
    public void remove(Object obj){

    }

    //修改链表中某个元素
    public void modify(Object newObj){

    }

    //查找链表中某个元素的下标
    public int find(Object obj){

        return 10;
    }
}
